البرمجة

هياكل الأشجار في الخوارزميات

مفهوم الأشجار في الخوارزميات: الأساس الرياضي، البنية الهرمية، الخواص التحليلية، وتطبيقات الحياة الرقمية  

تمهيد عام  

منذ اللحظة التي بدأ فيها الحاسوب يتعامل مع البيانات بصورتها المجرَّدة، اتجه الباحثون إلى ابتكار هياكل تنظِّم العشوائية الكامنة في المعلومات وتُمهِّد الطريق أمام خوارزميات أكثر كفاءة. في قلب هذه الهياكل تبرز الشجرة بوصفها تجسيدًا رياضيًّا للأفكار الهرمية في الطبيعة والمجتمع معًا. فهي بنية تجمع بين البساطة البصرية والتعقيد الخوارزمي: جذعٌ واحد يتفرَّع إلى عقد متعددة، ولكل عقدة مجموعة فرعية من الأبناء لا تتقاطع إلا عند الجذر. هذه الميزة تجعل الشجرة مرشحًا مثاليًّا لتمثيل البيانات المنظمة، بدءًا من شجرة العائلة ووصولًا إلى فهارس قواعد البيانات العملاقة ومحركات البحث.


1 – الجذور الرياضية للأشجار

تعود الشجرة في جوهرها إلى نظرية الغراف (Graph Theory)؛ غير أنها تتميز بأنَّها غراف لا دوري (Acyclic) متصل (Connected) يحوي nn رأسًا وn1n-1 حافة. يترتَّب على هذا التعريف ثلاثة خصائص مركزية:

  1. انعدام الدورات: لا توجد مسارات مغلقة، ولذلك يمكن ضمان الوصول إلى أي عقدة عبر مسار فريد.

  2. الترابط: كل رأس قابل للوصول من الجذر؛ ما يمنع ظهور مكوّنات معزولة.

  3. تعقيد حافات فرعي: الاقتصار على n1n-1 حافة يوفِّر أقل قدر ممكن من الوصلات لإنشاء اتصالٍ كامل.

من هذا المنطلق اكتسبت الأشجار حضورها في الخوارزميات التحليلية، إذ تتيح بنية واضحة للتنقل والاستعلام في زمن لوغاريتمي في أفضل الأحوال، مع استهلاك ذاكرة خطي.


2 – المفردات الأساسية لبنية الشجرة

المصطلح التعريف الخوارزمي الدلالة التطبيقية
الجذر (Root) العقدة الأصلية التي تنطلق منها جميع الفروع نقطة البداية للبحث أو الإدراج
العقدة الداخلية (Internal Node) رأس يملك ابنًا واحدًا على الأقل تمثيل كيان وسيط في الهرم
العقدة الورقية (Leaf) رأس بلا أبناء نهاية مسار، كملف في نظام ملفات
درجة العقدة (Degree) عدد الأبناء المباشرين قياس التشعب
العمق (Depth) المسافة من الجذر إلى العقدة مستوى التخصيص أو التفاصيل
الارتفاع (Height) أطول عمق في الشجرة أسوأ حالة زمنية لعمليات البحث

3 – تصنيفات الأشجار ومحاور المقارنة

تتعدد الأنواع وفقًا للخصائص الهرمية وقيود التوازن:

  • الشجرة الثنائية (Binary Tree): لكل عقدة بحد أقصى ابنان؛ تشكِّل الأساس لشجرة البحث الثنائية (BST) حيث يُحفَظ ترتيب المفتاح.

  • شجرة البحث المتوازنة (AVL, Red‑Black): تُفرَض قيود توازن صارمة أو لينة لتقييد ارتفاع الشجرة إلى Θ(logn)\Theta(\log n).

  • الشجرة المتعددة المسار (B‑Tree): عنصر رئيسي في أنظمة قواعد البيانات، تسمح بدرجات عليا تصل إلى مئات الأبناء لتحسين عمليات القراءة على الأقراص.

  • تراي (Trie): بنية موجهة للأوتار، تستهلك الذاكرة لمصلحة سرعة البحث عن سابقات (prefixes).

  • شجرة القرار (Decision Tree): أداة تعلم آلة تُفكِّك مساحة البيانات إلى مناطق ذات تجانس فصلي.


4 – خوارزميات البحث والإدراج والحذف 

تنبع كفاءة الشجرة من إمكانية كتابة خوارزميات تعتمد على خاصية المسار الفريد:

  1. البحث

    • في BST: ينطلق من الجذر ويقارن المفتاح، ثم ينحدر لليسار أو اليمين؛ التعقيد المتوقع O(logn)O(\log n) للمُتوازنة، ويرتفع إلى O(n)O(n) في التوزيع الأسوأ غير المتوازن.

  2. الإدراج

    • بنفس منطق البحث، يُنشأ عقدة جديدة في الموقع الورقي المناسب، ثم تُعالج عملية إعادة التوازن (Rotation) في AVL أو Red‑Black.

  3. الحذف

    • ثلاث حالات: عقدة ورقية، عقدة بابن واحد، أو بابنين. في الحالة الأخيرة يُستبدَل المفتاح بالخلف In‑Order Successor، ثم تُعاد هيكلة الشجرة للحفاظ على القيود.


5 – التحليل الزمني والفضائي

5.1 – التعقيد الزمني

العملية شجرة بحث ثنائية عشوائية AVL B‑Tree (درجة mm)
البحث O(logn)O(\log n) O(logn)O(\log n) O(logmn)O(\log_m n)
الإدراج O(logn)O(\log n) O(logn)O(\log n) O(logmn)O(\log_m n)
الحذف O(logn)O(\log n) O(logn)O(\log n) O(logmn)O(\log_m n)

5.2 – التعقيد الفضائي

يمتاز التمثيل المؤشرّي (Pointer‑Based) باستهلاك خطي O(n)O(n) مع إضافة ثابتة لكل عقدة لمؤشرات الأبناء والبيانات.


6 – التطبيقات العملية للأشجار

6.1 – أنظمة الملفات

تتجسد بنية الشجرة في المجلدات والملفات، حيث يسمح العمق المحدود بتحديد مسار فريد لكل مورد، ويعوَّل على عمليات Traversal مثل Post‑Order عند حذف مجلد متشعّب.

6.2 – محركات البحث وفهارس قواعد البيانات

تستخدم محركات البحث أشجارًا متعددة الدرجات (B+‑Trees) لتخزين معكِسات كلمات المرور، ما يقلل عدد عمليات الإدخال/الإخراج القرصية بفضل تجميع المفاتيح في عقد داخلية ذات مسارات قصيرة.

6.3 – التشفير وضغط البيانات

شجرة هوفمان (Huffman Tree) تولِّد رموزًا بطول متغير يحقق أدنى طول متوسط، اعتمادًا على تكرار الرموز. تُبنى الشجرة تصاعديًّا عبر تكديس أوزان العقد في بنية اصطناعية تُدعى Queue ثنائية الحد الأدنى.

6.4 – التنقيب عن البيانات والتعلم الآلي

تعمل أشجار القرار على تقسيم العيّنات عبر مقاييس مثل Entropy أو Gini Impurity، وتُعد لبنة أساسية في خوارزميات Ensemble كـ Random Forest وGradient Boosting.


7 – استراتيجيات الـTraversal وإثبات صحتها

هناك ثلاث طرائق كلاسيكية في الأشجار الثنائية:

  1. Pre‑Order: زيارة الجذر ثم اليسار فاليَمِين.

  2. In‑Order: اليسار ثم الجذر ثم اليمين – مثالية لإخراج مفاتيح BST بترتيب تصاعدي.

  3. Post‑Order: اليسار فاليَمِين ثم الجذر – مفيدة لحذف شجرة كاملة دون فقدان مؤشرات.

لإثبات شمولية أي طريقة، يُستَخدم الاستقراء الرياضي على ارتفاع الشجرة؛ إذ يُظهَر أن كل عقدة تُزار بالضبط مرة واحدة، وبالتالي يكون التعقيد خطيًّا O(n)O(n).


8 – التوازن: من النظرية إلى التنفيذ

تبرز أهمية التوازن في الحد من ارتفاع الشجرة. في AVL يُحافَظ على فرق الارتفاع بين الابنين بحيث لا يتجاوز «1». أما في Red‑Black فتُعطى كل عقدة لونًا أحمر أو أسود وفق خمس قواعد، أهمها أن كل مسار من الجذر إلى ورقة يحوي عددًا متماثلًا من العقد السوداء. هذه القيود تسمح بارتفاع أقصى يساوي 2log(n+1)2\log(n+1)، ما يضمن زمنًا شبه لوغاريتمي في جميع العمليات.


9 – التحديات المعاصرة واتجاهات البحث

مع تضخم البيانات الفائقة (Big Data) نشأت الحاجة إلى أشجار متوزَّعة (Distributed Trees) مثل Google F1‑B‑Tree، التي تُخزَّن شظاياها عبر خوادم متعددة وتستخدم بروتوكولات توافقية لضمان الاتساق. في المقابل، أدى صعود الذاكرة غير المتطايرة إلى إعادة تصميم هياكل مثل Bw‑Tree لتقليل الأقفال والسماح بالتزامن الواسع في نظم OLTP.


10 – خاتمة معرفية

إن الشجرة ليست مجرد بنية بيانات؛ بل هي تجريد رياضي يكمن وراء عدد هائل من التقنيات الرقمية. من خلال فهم خواصها الهيكلية وخوارزمياتها الأساسية، يمكن للمهندس تحسين الأداء، تقليل التعقيد، وإطلاق قدرات جديدة في تحليل البيانات. يُتوقع أن يستمر البحث في تطوير أشجار أكثر ملاءمة لذاكرات المستقبل والحوسبة السحابية، مما يؤكد حضور هذا المفهوم المركزي في قلب الخوارزميات الحديثة.


المصادر

  1. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. Introduction to Algorithms, 3rd Ed., MIT Press, 2009.

  2. Bayer, R., & McCreight, E. M. “Organization and Maintenance of Large Ordered Indexes”, Acta Informatica, 1972.